JPA (Java Persistence API) এবং Spring ORM

Java Technologies - স্প্রিং ওআরএম (Spring ORM)
86
86

JPA (Java Persistence API) এর পরিচিতি

JPA (Java Persistence API) হলো Java EE (Enterprise Edition)-এর একটি স্ট্যান্ডার্ড স্পেসিফিকেশন, যা Object-Relational Mapping (ORM) এবং ডেটা স্টোরেজের জন্য ব্যবহৃত হয়। JPA মূলত জাভা অবজেক্ট এবং রিলেশনাল ডেটাবেসের মধ্যে ডেটা ম্যাপিংয়ের জন্য নির্ধারিত মানদণ্ড প্রদান করে। এটি Hibernate, EclipseLink, এবং OpenJPA-এর মতো বিভিন্ন ORM ইমপ্লিমেন্টেশনের উপর ভিত্তি করে কাজ করে।

JPA এর মূল বৈশিষ্ট্য

  • Entity Management: JPA ডেটাবেস টেবিলের সঙ্গে জাভা অবজেক্ট ম্যাপিং সহজ করে।
  • Query Language: JPA নিজস্ব JPQL (Java Persistence Query Language) প্রদান করে, যা SQL এর মতো কাজ করে।
  • Annotations: ডেটাবেস কনফিগারেশনের জন্য বিভিন্ন JPA এনোটেশন ব্যবহার করা যায়, যেমন @Entity, @Table, @Id
  • Lazy Loading এবং Eager Loading: ডেটা লোড করার পদ্ধতি নিয়ন্ত্রণের সুবিধা দেয়।

Spring ORM এর সঙ্গে JPA এর ইন্টিগ্রেশন

Spring ORM JPA এর জন্য একটি সরল এবং শক্তিশালী ইন্টিগ্রেশন প্রদান করে। Spring Framework ডেভেলপারদের জন্য JPA ইমপ্লিমেন্টেশন সহজ করে তোলে এবং এর মধ্যে Spring Data JPA অন্যতম।

Spring ORM এবং JPA একত্রে কীভাবে কাজ করে?

Spring ORM এর মাধ্যমে JPA ইন্টিগ্রেশন নিম্নলিখিত ধাপে কাজ করে:

১. কনফিগারেশন

Spring-এ JPA ব্যবহার করার জন্য EntityManagerFactory এবং TransactionManager কনফিগার করতে হয়। এটি XML বা Java Configuration উভয় পদ্ধতিতেই করা যায়।

@Configuration
@EnableTransactionManagement
public class AppConfig {
    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
        factory.setPersistenceUnitName("myJpaUnit");
        return factory;
    }

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
        return new JpaTransactionManager(emf);
    }
}

২. এনোটেশন ব্যবহার

Spring-এ JPA এর জন্য এনোটেশন ব্যবহার করে Entity তৈরি করা হয়। উদাহরণস্বরূপ:

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "username")
    private String username;

    @Column(name = "email")
    private String email;

    // Getters and Setters
}

৩. ডেটা অ্যাক্সেস লেয়ার

Spring Data JPA ব্যবহার করে রেপোজিটরি ইন্টারফেস তৈরি করা যায়। এটি ডেটাবেস অপারেশনগুলোকে সহজ করে:

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
    List<User> findByUsername(String username);
}

৪. ট্রানজ্যাকশন ম্যানেজমেন্ট

Spring ট্রানজ্যাকশন ম্যানেজমেন্ট সরল করে এবং JPA ট্রানজ্যাকশনকে পরিচালনা করতে পারে। উদাহরণ:

@Service
@Transactional
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public User createUser(User user) {
        return userRepository.save(user);
    }
}

JPA এবং Spring ORM ব্যবহারের সুবিধা

  • স্ট্যান্ডার্ডাইজড API: JPA ব্যবহার করে ডেভেলপাররা একটি স্ট্যান্ডার্ড পদ্ধতিতে ORM ইমপ্লিমেন্ট করতে পারে।
  • Spring Data JPA: ডেটা অ্যাক্সেস অপারেশন সরল করে এবং কোড লিখতে সময় বাঁচায়।
  • ট্রানজ্যাকশন ম্যানেজমেন্ট: Spring Framework-এর মাধ্যমে ট্রানজ্যাকশন ম্যানেজমেন্ট সহজতর হয়।
  • ডেটাবেস স্বাধীনতা: JPA ড্রাইভার ও কনফিগারেশন পরিবর্তন করে সহজেই এক ডেটাবেস থেকে আরেকটিতে স্থানান্তর করা যায়।

JPA এবং Spring ORM এর মধ্যকার সম্পর্ক

Spring ORM মূলত JPA ইমপ্লিমেন্টেশনকে আরও কার্যকর এবং সহজ করার জন্য ব্যবহৃত হয়। এটি Spring Framework-এর Transaction Management, Dependency Injection, এবং অন্যান্য সুবিধাগুলোকে JPA এর সঙ্গে সংযুক্ত করে, যা একটি শক্তিশালী এবং একীভূত ডেটা অ্যাক্সেস লেয়ার তৈরি করে।


Content added By

JPA কি এবং এর সুবিধা

60
60

JPA (Java Persistence API) হলো জাভা-ভিত্তিক একটি স্পেসিফিকেশন যা ডেটাবেসে ডেটা সংরক্ষণ ও পুনরুদ্ধার করার জন্য ব্যবহৃত হয়। এটি ORM (Object-Relational Mapping) সমর্থন করে এবং ডেভেলপারদের অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের মাধ্যমে ডেটাবেসের ডেটা পরিচালনা করতে সাহায্য করে। JPA নিজেই কোনো ফ্রেমওয়ার্ক নয়, এটি একটি স্পেসিফিকেশন। Hibernate, EclipseLink, OpenJPA ইত্যাদি JPA-র ইমপ্লিমেন্টেশন হিসেবে কাজ করে।

JPA এর মূল উপাদান

  • Entity: একটি জাভা ক্লাস যা ডেটাবেসের টেবিলকে প্রতিনিধিত্ব করে।
  • EntityManager: ডেটাবেস অপারেশন (CRUD) পরিচালনা করার জন্য ব্যবহৃত হয়।
  • Persistence Unit: ডেটাবেস কনফিগারেশন নির্ধারণ করার জন্য ব্যবহৃত হয়।
  • Query: ডেটা রিট্রিভ ও ম্যানিপুলেট করার জন্য ব্যবহার করা হয়।

JPA এর সুবিধা

১. ডেটাবেস স্বাধীনতা

JPA ডেটাবেসের নির্দিষ্ট কোড লেখা ছাড়াই ডেটা পরিচালনার সুযোগ দেয়। ফলে এটি বিভিন্ন ডেটাবেসের সঙ্গে সহজেই কাজ করতে পারে।

২. উন্নত মানের ডেটা মডেলিং

JPA ডেটাবেসের টেবিল এবং তাদের রিলেশনশিপগুলোকে অবজেক্ট হিসেবে মডেল করতে সাহায্য করে। এটি কমপ্লেক্স রিলেশনশিপ যেমন, One-to-One, One-to-Many, Many-to-Many সহজভাবে ম্যানেজ করে।

৩. কোড সহজতর এবং পরিচ্ছন্ন

JPA ব্যবহার করলে ডেটাবেস অপারেশনের জন্য SQL কোড লিখতে হয় না। ডেভেলপাররা সরাসরি জাভা অবজেক্টের মাধ্যমে ডেটা ম্যানেজ করতে পারেন।

৪. ট্রানজ্যাকশন ম্যানেজমেন্ট

JPA সহজে ট্রানজ্যাকশন পরিচালনা করতে পারে এবং ডেটাবেস লকিং ও ডেডলকের মতো সমস্যা থেকে মুক্তি দেয়।

৫. কাস্টম কুয়েরি সমর্থন

JPA কাস্টম কুয়েরি লেখার জন্য JPQL (Java Persistence Query Language) এবং Native Query সমর্থন করে।

৬. Hibernate এবং অন্যান্য ফ্রেমওয়ার্ক ইন্টিগ্রেশন

Hibernate, EclipseLink-এর মতো JPA ইমপ্লিমেন্টেশনের মাধ্যমে এটি Spring ORM এর সঙ্গে সহজেই ইন্টিগ্রেট করা যায়।


JPA এবং Spring ORM এর সম্পর্ক

Spring ORM মডিউল JPA-র ইমপ্লিমেন্টেশন যেমন Hibernate-এর সঙ্গে ইন্টিগ্রেট করতে পারে। Spring Framework-এর শক্তিশালী বৈশিষ্ট্য যেমন ডিপেনডেন্সি ইনজেকশন এবং ট্রানজ্যাকশন ম্যানেজমেন্টের কারণে JPA ব্যবহার আরও কার্যকর হয়।


Content added By

@Entity, @Id, এবং @GeneratedValue Annotation এর ব্যবহার

100
100

স্প্রিং ORM এর সাহায্যে জাভা পার্সিস্টেন্স এপিআই (Java Persistence API - JPA) ব্যবহার করে ডেটাবেস এবং অবজেক্টগুলোর মধ্যে ম্যাপিং করা হয়। JPA-র কিছু গুরুত্বপূর্ণ অ্যানোটেশন যেমন @Entity, @Id, এবং @GeneratedValue অবজেক্ট-রিলেশনাল ম্যাপিং (ORM) প্রক্রিয়ায় গুরুত্বপূর্ণ ভূমিকা পালন করে।


@Entity Annotation

ভূমিকা

@Entity অ্যানোটেশন ব্যবহার করে একটি জাভা ক্লাসকে ডেটাবেস টেবিল হিসেবে চিহ্নিত করা হয়। এই অ্যানোটেশনটি JPA ফ্রেমওয়ার্ক নির্দেশ করে যে, এই ক্লাসটি একটি টেবিলের ডেটার জন্য ব্যবহৃত হবে।

উদাহরণ

import jakarta.persistence.Entity;

@Entity
public class Employee {
    private int id;
    private String name;
    private String department;

    // Getters and Setters
}

ব্যাখ্যা:
উপরের উদাহরণে, Employee ক্লাসটিকে @Entity দিয়ে চিহ্নিত করা হয়েছে, যা নির্দেশ করে যে এটি একটি ডেটাবেস টেবিলের প্রতিনিধিত্ব করবে।


@Id Annotation

ভূমিকা

@Id অ্যানোটেশন একটি টেবিলের প্রাইমারি কী (Primary Key) নির্দেশ করতে ব্যবহৃত হয়। এটি বলে যে, কোন ফিল্ড বা ভ্যারিয়েবল ডেটাবেসে টেবিলের প্রাইমারি কী হবে।

উদাহরণ

import jakarta.persistence.Id;

@Entity
public class Employee {
    @Id
    private int id;
    private String name;
    private String department;

    // Getters and Setters
}

ব্যাখ্যা:
উপরের উদাহরণে, id ফিল্ডটিকে @Id দিয়ে চিহ্নিত করা হয়েছে, যা নির্দেশ করে যে এটি টেবিলের প্রাইমারি কী হিসেবে কাজ করবে।


@GeneratedValue Annotation

ভূমিকা

@GeneratedValue অ্যানোটেশন ব্যবহার করে প্রাইমারি কী এর জন্য স্বয়ংক্রিয় মান তৈরি করা যায়। এটি সাধারণত অটোমেটিক ইনক্রিমেন্টেশন (Auto-Incrementation) অথবা ডেটাবেসের সিকোয়েন্স জেনারেটর (Sequence Generator) এর মাধ্যমে কাজ করে।

উদাহরণ

import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;

@Entity
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String name;
    private String department;

    // Getters and Setters
}

ব্যাখ্যা:
উপরের উদাহরণে, @GeneratedValue ব্যবহার করে id ফিল্ডটি স্বয়ংক্রিয়ভাবে জেনারেট করা হবে। strategy প্যারামিটারটি নির্দেশ করে কীভাবে মান জেনারেট করা হবে।


@GeneratedValue এর স্ট্র্যাটেজি (Strategy) টাইপ

  1. GenerationType.AUTO: ডেটাবেসের ডিফল্ট জেনারেশন স্ট্র্যাটেজি ব্যবহার করে।
  2. GenerationType.IDENTITY: ডেটাবেসের অটো-ইনক্রিমেন্ট ফিচার ব্যবহার করে।
  3. GenerationType.SEQUENCE: একটি সিকোয়েন্স ব্যবহার করে প্রাইমারি কী তৈরি করে।
  4. GenerationType.TABLE: একটি টেবিল ব্যবহার করে প্রাইমারি কী জেনারেট করে।

পূর্ণাঙ্গ উদাহরণ

নিচে @Entity, @Id, এবং @GeneratedValue এর ব্যবহার করে একটি ক্লাস তৈরি এবং তা ডেটাবেসে সংযুক্ত করার উদাহরণ দেওয়া হলো:

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;

@Entity
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private String department;

    // Default Constructor
    public Employee() {}

    // Parameterized Constructor
    public Employee(String name, String department) {
        this.name = name;
        this.department = department;
    }

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }
}

স্প্রিং ওআরএম এবং JPA অ্যানোটেশনের সুবিধা

  • স্বয়ংক্রিয় টেবিল ম্যাপিং: কম কোডে ক্লাসকে ডেটাবেস টেবিলের সাথে সংযুক্ত করা যায়।
  • সহজ প্রাইমারি কী জেনারেশন: @GeneratedValue এর মাধ্যমে প্রাইমারি কী সহজেই জেনারেট করা যায়।
  • স্ট্রাকচারাল কোড: ORM ফ্রেমওয়ার্কের মাধ্যমে কোড ক্লিন এবং মেইনটেইনেবল থাকে।
  • ডেটাবেস ইন্ডিপেন্ডেন্স: ডেটাবেস পরিবর্তন হলেও ORM কোডে তেমন কোনো পরিবর্তন প্রয়োজন হয় না।

Content added By

Spring Data JPA এর মাধ্যমে Repository তৈরি করা

57
57

Spring Data JPA হলো স্প্রিং ফ্রেমওয়ার্কের একটি উপাদান যা Java Persistence API (JPA)-এর সঙ্গে কাজ করা সহজ করে তোলে। এটি Repository Design Pattern ব্যবহার করে ডাটাবেজ অপারেশনের জন্য সহজ এবং কার্যকর ইন্টারফেস তৈরি করতে সাহায্য করে। Spring Data JPA ডেটাবেস অপারেশন পরিচালনার জন্য অনেক boilerplate কোড সরিয়ে দেয়।


রেপোজিটরি তৈরি করার ধাপ

স্প্রিং ডেটা JPA ডিপেনডেন্সি যোগ করা

প্রথমে আপনার প্রজেক্টে Spring Data JPA এবং ডাটাবেসের জন্য প্রয়োজনীয় ডিপেনডেন্সি যোগ করুন। Maven প্রজেক্টের জন্য pom.xml ফাইল এডিট করুন:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId> <!-- অথবা আপনার পছন্দের ডাটাবেস -->
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

এন্টারিটি ক্লাস (Entity Class) তৈরি করা

একটি Entity তৈরি করুন যা ডেটাবেসের টেবিলের সঙ্গে ম্যাপ হবে। উদাহরণস্বরূপ, একটি User এন্টারিটি তৈরি করুন:

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

রেপোজিটরি ইন্টারফেস তৈরি করা

Spring Data JPA-র মাধ্যমে JpaRepository ইন্টারফেস এক্সটেন্ড করে একটি রেপোজিটরি তৈরি করুন:

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
    // কাস্টম কুয়েরি মেথড ডিফাইন করা যেতে পারে
    User findByEmail(String email);
}

সার্ভিস বা কন্ট্রোলার ক্লাসে রেপোজিটরি ব্যবহার

রেপোজিটরির মাধ্যমে ডেটাবেস অপারেশন সম্পন্ন করতে সার্ভিস বা কন্ট্রোলার ক্লাসে ব্যবহার করুন:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    public User getUserByEmail(String email) {
        return userRepository.findByEmail(email);
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }

    public void deleteUser(Long id) {
        userRepository.deleteById(id);
    }
}

কন্ট্রোলার তৈরি করা

HTTP রিকোয়েস্টের মাধ্যমে ডেটাবেস অপারেশন পরিচালনার জন্য একটি কন্ট্রোলার তৈরি করুন:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @GetMapping("/{email}")
    public User getUserByEmail(@PathVariable String email) {
        return userService.getUserByEmail(email);
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }

    @DeleteMapping("/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}

উপসংহার

Spring Data JPA এর মাধ্যমে Repository তৈরি করে ডাটাবেস অপারেশন কার্যকরভাবে পরিচালনা করা যায়। এটি ডেটাবেস অ্যাক্সেস লেয়ারকে সহজতর করে এবং ডেভেলপমেন্টে সময় বাঁচায়। JpaRepository ইন্টারফেস ব্যবহার করে সাধারণ ডেটাবেস অপারেশন স্বয়ংক্রিয়ভাবে সম্পন্ন করা সম্ভব।

Content added By

উদাহরণ সহ JPA এবং Spring ORM এর Integration

98
98

Spring ORM এবং JPA (Java Persistence API) ব্যবহার করে ডাটাবেস ইন্টিগ্রেশন আরও সহজ এবং কার্যকর করা যায়। Spring Framework JPA-র জন্য একটি সরল ইন্টিগ্রেশন প্রদান করে, যেখানে ডাটাবেস অপারেশনগুলো সহজে কনফিগার এবং ব্যবহার করা যায়।


উদাহরণ: JPA এবং Spring ORM এর ইন্টিগ্রেশন

প্রজেক্ট কনফিগারেশন

Spring Boot ব্যবহার করে JPA এবং Spring ORM ইন্টিগ্রেশন করা সহজ। নিচের ধাপগুলো অনুসরণ করে একটি কাজের উদাহরণ তৈরি করা যাবে।


ডিপেন্ডেন্সি (Dependencies) যোগ করা

pom.xml-এ প্রয়োজনীয় ডিপেন্ডেন্সি যোগ করতে হবে।

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

এখানে H2 ডাটাবেস ব্যবহার করা হয়েছে, তবে MySQL, PostgreSQL ইত্যাদিও ব্যবহার করা যায়।


অ্যাপ্লিকেশন প্রপার্টিজ (Application Properties)

application.properties ফাইলে ডাটাবেস কনফিগারেশন দিন।

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true

Entity ক্লাস তৈরি করা

JPA এর @Entity অ্যানোটেশন ব্যবহার করে একটি টেবিলের ম্যাপিং করতে হবে।

package com.example.demo.entity;

import jakarta.persistence.*;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Repository ইন্টারফেস তৈরি করা

Spring Data JPA-র মাধ্যমে ডাটাবেস অপারেশনের জন্য একটি ইন্টারফেস তৈরি করুন।

package com.example.demo.repository;

import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

সার্ভিস লেয়ার তৈরি করা

সার্ভিস লেয়ার দিয়ে ডাটাবেস অপারেশন ম্যানেজ করুন।

package com.example.demo.service;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserRepository userRepository;

    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    public User saveUser(User user) {
        return userRepository.save(user);
    }
}

কন্ট্রোলার তৈরি করা

REST API তৈরি করতে একটি কন্ট্রোলার তৈরি করুন।

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userService.saveUser(user);
    }
}

অ্যাপ্লিকেশন চালু করা

Spring Boot অ্যাপ্লিকেশন চালানোর জন্য @SpringBootApplication সহ একটি মেইন ক্লাস তৈরি করুন।

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

অ্যাপ্লিকেশন পরীক্ষা করা

  1. GET API: http://localhost:8080/api/users URL-এ গিয়ে সমস্ত ব্যবহারকারী দেখতে পারবেন।
  2. POST API: নতুন ব্যবহারকারী তৈরি করতে POST রিকোয়েস্ট পাঠান।
{
    "name": "John Doe",
    "email": "john.doe@example.com"
}

সারাংশ

Spring ORM এবং JPA এর ইন্টিগ্রেশন ডাটাবেস অপারেশনকে সহজতর করে। এই উদাহরণটি RESTful API এবং ডাটাবেসের মধ্যে ইন্টিগ্রেশন দেখায়। Spring Boot এবং JPA ব্যবহার করে ডেভেলপাররা দ্রুত এবং কার্যকর অ্যাপ্লিকেশন তৈরি করতে পারেন।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion